<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
  <script>
    // 工厂函数封装承诺对象
    function getPromise(url,method='get',data=null){
      return new Promise(
       (resolve,reject)=>{
         // 执行异步操作
         $.ajax({
          // url:url,
          url,
          method,
          data,
          success(res){
            resolve(res)
          },
          error(err){
            reject(err)
          }
        })
       }
      );
      
    };
    let p1=getPromise('http://121.199.1.35:8888/index/article/findCategoryArticles');//new Promise()
    let p2=getPromise('http://121.199.1.35:8888/index/carousel/findAll');//new Promise()
    // all实例状态全部请求成功 才成功 有一个实例状态失败就失败
    // race返回请求先成功的实例对象
    // any 有请求成功的实例就用请求成功的实例 都失败才是失败的实例状态
    let result=Promise.any([p1,p2]);
    result.then(res=>{
      console.log(res,'成功请求');
    }).catch(err=>{
      console.log(err,'失败请求');
    });
    // p1.then(res=>{

    //   // 对res做一些处理
    //   console.log(res,'成功回调');
    // }).catch(err=>{
    //   console.log(err,'失败回调');
    // });
    // p2.then(res=>{
    //   console.log(res,'成功回调');
    // }).catch(err=>{
    //   console.log(err,'失败回调');
    // });
  </script>
</head>
<body>
  
</body>
</html>